package com.zshan.clinic.common.util.pinyin;

import cn.hutool.extra.pinyin.PinyinUtil;
import com.zshan.clinic.common.util.string.StringUtil;

public class PinyinUtils {

    /**
     * 获取汉字首字母缩写（如：太阳穴 -> TYX）
     */
    public static String getFirstLetters(String chinese) {
        if (StringUtil.isBlank(chinese)) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        for (char c : chinese.toCharArray()) {
            if (isChinese(c)) {
                sb.append(PinyinUtil.getFirstLetter(c));
            }
        }
        return sb.toString().toUpperCase();
    }

    /**
     * 获取汉字全拼（如：太阳穴 -> taiyangxue）
     */
    public static String getFullPinyin(String chinese) {
        if (chinese == null) {
            return "";
        }
        return PinyinUtil.getPinyin(chinese, "").toLowerCase();
    }

    /**
     * 判断字符是否是中文
     */
    private static boolean isChinese(char c) {
        return String.valueOf(c).matches("[\u4e00-\u9fa5]");
    }

    // 简单测试
    public static void main(String[] args) {
        String text = "咏春叶问";
        System.out.println("首字母缩写：" + getFirstLetters(text)); // TYX
        System.out.println("全拼：" + getFullPinyin(text));     // taiyangxue
    }
}

